package com.beamfield.dao.sys;

import com.beamfield.model.Leave;
import com.beamfield.model.LeaveExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

@Component
public interface LeaveMapper {
    int countByExample(LeaveExample example);

    int deleteByExample(LeaveExample example);

    int deleteByPrimaryKey(Long id);

    int insert(Leave record);

    int insertSelective(Leave record);

    List<Leave> selectByExample(LeaveExample example);

    Leave selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") Leave record, @Param("example") LeaveExample example);

    int updateByExample(@Param("record") Leave record, @Param("example") LeaveExample example);

    int updateByPrimaryKeySelective(Leave record);

    int updateByPrimaryKey(Leave record);

    List<Leave> selectPage(@Param("beamId") long beamId,@Param("offset") String offset,@Param("limit") String limit,@Param("type") String type,@Param("name")String name,@Param("workdept")String workdept);

    long countLeaveData(@Param("beamId") long beamId,@Param("type") String type,@Param("name")String name,@Param("workdept")String workdept);

    int countLeaveByMonth(@Param("beamId") Long beamId,@Param("month")String month);
}